import { get, post, put } from "../uitils/request";
import { ref } from "vue";
// 登录
export const loginAPI = (data) => post("/api/v1/auth/login", data);
// 注册
export const enterAPI = (data) => {
  return post("/api/v1/auth/reg", data);
};
//获取用户信息
export const useInfoAPI = () => get("/api/v1/user/info");

// 修改密码
export const passwordAPI = (data) => put("/api/v1/user/update_pwd", data);

// 修改个人信息
export const changeInfoAPI = (data) => put("/api/v1/user/modify", data);
// 签到
export const checkInAPI = (data) => post("/api/v1/user/check_in", data);
// 文件上传
export const uploadFileAPI = (data) => post("/api/v1/common/upload_file", data);

// 获取商品分类
export const upcartAPI = () => get("/api/v1/product_categories");

export const userCartAPI = () => {
  const carts = ref([]);
  upcartAPI().then((res) => {
    console.log(res);
    carts.value = res.data;
  });
  return {
    carts,
  };
};

// 获取商品列表
export const cartsAPI = (page = 1, category = "") =>
  get("/api/v1/products", { page, category });

export const useProduct = () => {
  const list = ref([]);
  const page = ref(1);
  /** */
  // 加载更多,分类这里可以初始的时候给一个空
  const loading = ref(false); // 是否加载中
  const finished = ref(false); // 是否完成
  /**
   *
   * @param {category} category 加载数据
   * @param {*} needReset 是否需要重置数据
   */
  const loadData = (category = "", needReset = false) => {
    //是否需要重置数据
    if (needReset) {
      // 商品分类设置为空,页面设置为空
      list.value = [];
      page.value = 1;
    }
    loading.value = true;
    cartsAPI(page.value, category).then((res) => {
      if (res.pages < page.value) {
        finished.value = true;
      }
      list.value.push(...res.data);
      page.value++;
      loading.value = false;
    });
  };

  return { list, loadData, finished, loading };
};

// 获取商品详细信息
export const productInfoAPI=(id)=>get('/api/v1/products/'+id)
// url
//     /api/v1/products/:id
// method
//     get
// result
//     {
//         code: 1,
//         data: {}
//     }